var CryptoJS = require('./aes.js');  //引用AES源码js

//解密方法
function decrypt(data,ak,ivstr) {
  let key = CryptoJS.enc.Latin1.parse(ak);
  var iv = CryptoJS.enc.Latin1.parse(ivstr);//十六位十六进制数作为秘钥偏移量
  var decrypt = CryptoJS.AES.decrypt(data, key, { 
	  iv: iv, 
	  mode: CryptoJS.mode.CBC,    //选择CBC模式
	  // padding:CryptoJS.pad.ZeroPadding,
	  padding:CryptoJS.pad.Pkcs7,    //填充方式切换
	  });
  var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
  return decryptedStr.toString();
}
//加密方法
function encrypt(data,ak,ivstr) {
  let key = CryptoJS.enc.Latin1.parse(ak);
  var iv = CryptoJS.enc.Latin1.parse(ivstr);//十六位十六进制数作为秘钥偏移量
  var encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv, mode: CryptoJS.mode.CBC, padding:CryptoJS.pad.Pkcs7});
  return encrypted.toString();
}

function md5(signStr){
  return CryptoJS.MD5(signStr).toString()
}

//暴露接口
module.exports.decrypt = decrypt;
module.exports.encrypt = encrypt;
module.exports.md5 = md5;